package com.kakarota.hadoop.hbase;

//import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ClassPathResource;
import javax.annotation.PostConstruct;
import java.io.IOException;
import java.util.Properties;

@Configuration
public class HBaseConfig {
    @Value("${spring.data.hbase.base-address}")
    private String baseAddress;
    @Value("${spring.data.hbase.zookeeper.*}") // 使用Spring表达式获取所有Zookeeper相关配置项，此处仅为示例，实际使用时需要具体化配置项名如zookeeperQuorum等。
    private Properties zookeeperProperties; // 注意：这种方式可能需要额外的处理来正确映射所有属性。通常直接在application.properties中配置会更简单。
    @Value("${spring.data.hbase.*}") // 同理，可能需要额外的处理。通常直接在application配置文件中配置会更简单。
    private Properties hbaseProperties; // 同上，可能需要额外的处理来正确映射所有属性。通常直接在application配置文件中配置会更简单。
    @Value("${spring.data.*}") // 同上，可能需要额外的处理。通常直接在application配置文件中配置会更简单。
    private Properties springDataProperties; // 同上，可能需要额外的处理来正确映射所有属性。通常直接在application配置文件中配置会更简单。
    // 此处省略了具体的属性映射代码，实际应用中需要根据实际属性名进行映射。例如：zookeeperQuorum, clientPort等。
}
